package com.southminority.ethnic.mapper.contact;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.southminority.ethnic.pojo.CooperationFile;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 合作申请文件Mapper接口
 * 
 * @author SouthMinority
 */
@Mapper
public interface CooperationFileMapper extends BaseMapper<CooperationFile> {

    /**
     * 根据状态获取文件列表
     * 
     * @param status 状态
     * @return 文件列表
     */
    List<CooperationFile> selectByStatus(@Param("status") Integer status);

    /**
     * 获取默认文件
     * 
     * @return 默认文件
     */
    CooperationFile selectDefaultFile();

    /**
     * 根据文件类型和状态获取文件列表
     * 
     * @param fileType 文件类型
     * @param status 状态
     * @return 文件列表
     */
    List<CooperationFile> selectByFileTypeAndStatus(@Param("fileType") String fileType, @Param("status") Integer status);

    /**
     * 增加下载次数
     * 
     * @param id 文件ID
     * @return 更新行数
     */
    @Update("UPDATE cooperation_file SET download_count = download_count + 1 WHERE id = #{id}")
    int incrementDownloadCount(@Param("id") Long id);

    /**
     * 根据ID和状态获取文件
     * 
     * @param id 文件ID
     * @param status 状态
     * @return 文件信息
     */
    CooperationFile selectByIdAndStatus(@Param("id") Long id, @Param("status") Integer status);
} 
